/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package vista;

import daoBeans.conexionMySql;
import daoBeans.daoUsuario;
import java.sql.Connection;
import java.util.ArrayList;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import modelo.Usuario;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import javax.faces.context.FacesContext;

/**
 *
 * @author Gustavo Arturo Ríos Páez
 */
@ManagedBean
@SessionScoped
public class usuarioConsultaBean {
    
    private String nombre;
    private String id;
    private String rol;
    private String empresa;
    private conexionMySql sql = new conexionMySql();
    private Connection mysql = sql.comenzarDb();
    private daoUsuario daou = new daoUsuario(mysql);    
    private Map<String,String> roles = new HashMap<String, String>();
    private Map<String,String> resultados = new HashMap<String, String>();
    private List<String> resultad = new ArrayList<String>();
    private Usuario[] empleados;
    

    public usuarioConsultaBean() {
        roles.put("Gerente", "Gerente");
        roles.put("Consulta", "Consulta");
        roles.put("Otro", "Otro");
    }
    
    public void buscar(){
        
        ArrayList<Usuario> rsl = new ArrayList<Usuario>();
        Usuario u = new Usuario();
        resultad.clear();        
        
        if(getNombre().equals("") && getId().equals("")){            
            rsl = daou.buscarUsuarioRol(getRol(), getEmpresa());            
        } 
        
        else if(!getId().equals("")){
            u = daou.buscarUsuarioID(getId());            
        }
        
        else if(!getNombre().equals("")){
            rsl = daou.buscarUsuarioNombre(getNombre());
        }
        
        Iterator<Usuario> us = rsl.iterator();
        
        if(rsl.isEmpty() && !u.getNombre().isEmpty()){
            resultad.add(u.getNombre());
        }     
        
        else if(!rsl.isEmpty()){
            Iterator<Usuario> it = rsl.listIterator();
            while(it.hasNext()){
                u = it.next();
                resultad.add(u.getId());              
            }
        }
        
        else{
            resultad.add("");
        }
              
    }

    
    public void limpiar(){
        resultad.clear();
    }
    
    public String getNombre() {
        return nombre;
    }

    public String getId() {
        return id;
    }

    public String getRol() {
        return rol;
    }

    public String getEmpresa() {
        return empresa;
    }
    

    public Usuario[] getEmpleados() {
        return empleados;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    public void setId(String id) {
        this.id = id;
    }

    public void setRol(String rol) {
        this.rol = rol;
    }

    public void setEmpresa(String empresa) {
        this.empresa = empresa;
    }

    public void setEmpleados(Usuario[] empleados) {
        this.empleados = empleados;
    }

    public Map<String, String> getRoles() {
        return roles;
    }

    public void setRoles(Map<String, String> roles) {
        this.roles = roles;
    }

    public Map<String, String> getResultados() {
        return resultados;
    }

    public void setResultados(Map<String, String> resultados) {
        this.resultados = resultados;
    }  

    public List<String> getResultad() {
        return resultad;
    }

    public void setResultad(List<String> resultad) {
        this.resultad = resultad;
    }
    
}
